package doxygenxml.compound;

/**********************************************************************************************
 * Copyright (c) 2001-2020 Liquid Technologies Limited. All rights reserved.
 * See www.liquid-technologies.com for product details.
 *
 * Please see products End User License Agreement for distribution permissions.
 *
 * WARNING: THIS FILE IS GENERATED
 * Changes made outside of ##HAND_CODED_BLOCK_START blocks will be overwritten
 *
 * Generation  :  by Liquid XML Data Binder 18.0.5.9988
 * Using Schema: CENSORED
 **********************************************************************************************/

// <summary>
// </summary>
public enum DoxCompoundKind {
	class_,
	struct_,
	Union,
	interface_,
	Protocol,
	Category,
	exception_,
	Service,
	Singleton,
	Module,
	Type,
	File,
	namespace_,
	Group,
	Page,
	Example,
	Dir;

	// Converts a DoxCompoundKind enumeration to a string (suitable for the XML document)
	public static String DoxCompoundKindToString(doxygenxml.compound.DoxCompoundKind enumValue) throws com.liquid_technologies.ltxmllib18.exceptions.LtInvalidValueException {
		switch(enumValue)
		{
		case class_:
	    	return "class";
		case struct_:
	    	return "struct";
		case Union:
	    	return "union";
		case interface_:
	    	return "interface";
		case Protocol:
	    	return "protocol";
		case Category:
	    	return "category";
		case exception_:
	    	return "exception";
		case Service:
	    	return "service";
		case Singleton:
	    	return "singleton";
		case Module:
	    	return "module";
		case Type:
	    	return "type";
		case File:
	    	return "file";
		case namespace_:
	    	return "namespace";
		case Group:
	    	return "group";
		case Page:
	    	return "page";
		case Example:
	    	return "example";
		case Dir:
	    	return "dir";
		default:
	    	throw new com.liquid_technologies.ltxmllib18.exceptions.LtInvalidValueException("Unknown enumeration value for doxygenxml.compound.DoxCompoundKind [" + enumValue.toString() + "]");
		}
	}
	
	// 	Converts a string to a DoxCompoundKind enumeration
	public static DoxCompoundKind DoxCompoundKindFromString(String enumValue) throws com.liquid_technologies.ltxmllib18.exceptions.LtInvalidValueException {
		String enumCollapsedValue = com.liquid_technologies.ltxmllib18.WhitespaceUtils.collapse(enumValue);
		if (enumCollapsedValue.equals("class"))
			return class_;
		else if (enumCollapsedValue.equals("struct"))
			return struct_;
		else if (enumCollapsedValue.equals("union"))
			return Union;
		else if (enumCollapsedValue.equals("interface"))
			return interface_;
		else if (enumCollapsedValue.equals("protocol"))
			return Protocol;
		else if (enumCollapsedValue.equals("category"))
			return Category;
		else if (enumCollapsedValue.equals("exception"))
			return exception_;
		else if (enumCollapsedValue.equals("service"))
			return Service;
		else if (enumCollapsedValue.equals("singleton"))
			return Singleton;
		else if (enumCollapsedValue.equals("module"))
			return Module;
		else if (enumCollapsedValue.equals("type"))
			return Type;
		else if (enumCollapsedValue.equals("file"))
			return File;
		else if (enumCollapsedValue.equals("namespace"))
			return namespace_;
		else if (enumCollapsedValue.equals("group"))
			return Group;
		else if (enumCollapsedValue.equals("page"))
			return Page;
		else if (enumCollapsedValue.equals("example"))
			return Example;
		else if (enumCollapsedValue.equals("dir"))
			return Dir;
		else
			// ##HAND_CODED_BLOCK_START ID="Default Enum doxygenxml.compound.DoxCompoundKind"## DO NOT MODIFY ANYTHING OUTSIDE OF THESE TAGS
			throw new com.liquid_technologies.ltxmllib18.exceptions.LtInvalidValueException("Unknown enumeration value for doxygenxml.compound.DoxCompoundKind [" + enumValue + "]");
			// ##HAND_CODED_BLOCK_END ID="Default Enum doxygenxml.compound.DoxCompoundKind"## DO NOT MODIFY ANYTHING OUTSIDE OF THESE TAGS
	}
}

